package com.example.qinghe.dao.sale;

import com.example.qinghe.entity.communication.Staff;
import com.example.qinghe.entity.sale.Connectionqh;
import com.example.qinghe.entity.sale.Opportunityqh;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * 联系记录Mapper接口
 * 
 * @author ruoyi
 * @date 2023-09-04
 */
public interface ConnectionqhMapper 
{
    /**
     * 查询联系记录
     * 
     * @param id 联系记录主键
     * @return 联系记录
     */
    public Connectionqh selectConnectionqhById(Long id);


    public List<Connectionqh> selectConnectionqhByCustomerId(Long id);

    public List<Connectionqh> selectConnectionqhByOpportunityId(Long id);

    // 查找所有相关联系人
    @Select("select id,name from staff where id!=#{id}")
    public List<Staff> selectAllRelativeStaff(@Param("id") Long id);

    // 查找所有相关商机
    @Select("select id,opportunityname from opportunityqh where id!=#{id}")
    public List<Opportunityqh> selectAllRelativeOpportunity(@Param("id")Long id);
    /**
     * 查询联系记录列表
     * 
     * @param connectionqh 联系记录
     * @return 联系记录集合
     */
    public List<Connectionqh> selectConnectionqhList(Connectionqh connectionqh);

    /**
     * 新增联系记录
     * 
     * @param connectionqh 联系记录
     * @return 结果
     */
    public int insertConnectionqh(Connectionqh connectionqh);

    /**
     * 修改联系记录
     * 
     * @param connectionqh 联系记录
     * @return 结果
     */
    public int updateConnectionqh(Connectionqh connectionqh);

    /**
     * 删除联系记录
     * 
     * @param id 联系记录主键
     * @return 结果
     */
    public int deleteConnectionqhById(Long id);

    /**
     * 批量删除联系记录
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteConnectionqhByIds(Long[] ids);
}
